package com.tiancheng.trade.merchant.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tiancheng.trade.merchant.enums.MerchantPayChannelUsedEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import jakarta.validation.constraints.NotBlank;
import java.math.BigDecimal;

@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName(value = "merchant_payment_channel")
public class MerchantPaymentChannel extends BaseModel {
    /**
     * 商户编码
     */
    @NotBlank
    private String merchantCode;
    /**
     * 支付渠道名称
     */
    @TableField(exist = false)
    private String paymentChannelName;
    /**
     * 支付渠道编码
     */
    @NotBlank
    private String paymentChannelCode;
    /**
     * 支付渠道子商户号
     */
    private String subMchId;
    /**
     * 商户通道费
     */
    private BigDecimal merchantSlottingFees;
    /**
     * 平台通道费
     */
    private BigDecimal platformSlottingFees;
    /**
     * 业务侧商户编码
     */
    private String merchantCodeBusiness;
    /**
     * 收单机构商户号
     */
    private String merchantCodeAcquirer;
    /**
     * 渠道进件号
     */
    private String subAppid;
    /**
     * 户企业用户号
     */
    private String enterpriseCode;
    /**
     * 当前是否被使用，0=未被使用，1=被使用，同一时刻一个商户仅能有一条被使用
     *
     * @see MerchantPayChannelUsedEnum
     */
    private Integer used;
    /**
     * 机构支付渠道id
     */
    @NotNull(message = "机构支付通道不允许为空")
    private Long orgPaymentChannelId;
}
